Reliability of data processing systems can be impacted by interruptions in computational service. Checkpointing is a technique that introduces fault tolerance to data processing systems by enabling recovery after a failure occurs. Generally, checkpointing involves acquiring and saving a snapshot of the internal state of a system periodically or at critical times. In the event of a system failure, the state of the system can be restored to the saved state. The restored system can subsequently continue to operate from the point in time that the state was last saved.